//AUTHOR:第七页(diqye) 2014年10月10日,  10:19:54 QQ:262666212
//渲染常用组件
define(["jquery"],function($){
	var idnum=10,r_val=$.fn.val;
	//手机组件
	function render1(div){
		div.find("[diqye=phone]").each(function(){
			var _=$(this),id="phone_id"+idnum++,div=$("<div id='"+id+"'></div>");
			_.after(div);
			_.on("keyup",function(){
				div.find(".popover-content").html(format1(_.val()));
			});
			_.popover({
				container:"#"+id,
				placement:"top",
				trigger:"focus",
				template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content" style="width:165px;height:50px;font-size:20px;"></div></div>',
				content:function(){
					return format1(_.val());
				}
			});
		});
	}

	function format1(val){
		val=val||"";
		val=$.trim(val);
		val=val.replace(" ","");
		val=val.substr(0,11);
		var s0=val.substr(0,3),s1=val.substr(3,3),s2=val.substr(6);
		return s0+" "+s1+" "+s2;
	}
	function render2(div){
		div.find("[diqye=radio]").each(function(){
			var _=this;
			var val = $(this).attr("value");
			$(this).find("button").each(function(){
				$(this).removeClass("active");
				if($(this).attr("value")==val)$(this).addClass("active");
			});
			$(this).find("button").off("click").on("click",function(){
				$(_).attr("value",$(this).attr("value"));
				$(_).find("button").removeClass("active");
				$(this).addClass("active");
			});
		});
	}

	function render3(div){
		div.find("[diqye=date1]").each(function(){
			$(this).text(date1($(this).text()));
		});
	}
	$.fn.render=function(){
		render1($(this));
		render2($(this));
		render3($(this));
		return $(this);
	}

	$.fn.formToObject=function(){
		var obj={};
		$(this).find("[name]").each(function(){
			var name=$(this).attr("name"),
			value=$(this).val();
			obj[name]=value;
		});

		return obj;
	}

	$.fn.val=function(a){
		if($(this).is("[diqye=radio]")){
			if(a==null) return $(this).attr("value");
			else{
				$(this).attr("value",a);
				$(this).find("button").each(function(){
					$(this).removeClass("active");
					if($(this).attr("value")==a)$(this).addClass("active");
				});
				return $(this);
			}
		}else{
			if(a==null) return r_val.call(this);
			else return r_val.call(this,a);
		}
	}

	return $;
});